1 research outputs found

    RobotChain: Artificial Intelligence on a Blockchain using Tezos Technology

    Get PDF
    Blockchain technology is not only growing everyday at a fast-passed rhythm, but it is also a disruptive technology that has changed how we look at financial transactions. By providing a way to trust an unknown network and by allowing us to conduct transactions without the need for a central authority, blockchain has grown exponentially. Moreover, blockchain also provides decentralization of the data, immutability, accessibility, non-repudiation and irreversibility properties that makes this technology a must in many industries. But, even thought blockchain provides interesting properties, it has not been extensively used outside the financial scope. Similarly, robots have been increasingly used in factories to automate tasks that range from picking objects, to transporting them and also to work collaboratively with humans to perform complex tasks. It is important to enforce that robots act between legal and moral boundaries and that their events and data are securely stored and auditable. This rarely happens, as robots are programmed to do a specific task without certainty that that task will always be performed correctly and their data is either locally stored, without security measures, or disregarded. This means that the data, especially logs, can be altered, which means that robots and manufacturers can be accused of problems that they did not cause. Henceforth, in this work, we sought to integrate blockchain with robotics with the goal to provide enhanced security to robots, to the data and to leverage artificial intelligence algorithms. By doing an extensive overview of the methods that integrate blockchain and artificial intelligence or robotics, we found that this is a growing field but there is a lack of proposals that try to improve robotic systems by using blockchain. It was also clear that most of the existing proposals that integrate artificial intelligence and blockchain, are focused on building marketplaces and only use the latter to storage transactions. So, in this document, we proposed three different methods that use blockchain to solve different problems associated with robots. The first one is a method to securely store robot logs in a blockchain by using smart-contracts as storage and automatically detect when anomalies occur in a robot by using the data contained in the blockchain and a smart-contract. By using smart-contracts, it is assured that the data is secure and immutable as long as the blockchain has enough peers to participate in the consensus process. The second method goes beyond registering events to also register information about external sensors, like a camera, and by using smart-contracts to allow Oracles to interact with the blockchain, it was possible to leverage image analysis algorithms that can detect the presence of material to be picked. This information is then inserted into a smart-contract that automatically defines the movement that a robot should have, regarding the number of materials present to be picked. The third proposal is a method that uses blockchain to store information about the robots and the images derived from a Kinect. This information is then used by Oracles that check if there is any person located inside a robot workspace. If there is any, this information is stored and different Oracles try to identify the person. Then, a smart-contract acts appropriately by changing or even stopping the robot depending on the identity of the person and if the person is located inside the warning or the critical zone surrounding the robot. With this work, we show how blockchain can be used in robotic environments and how it can beneficial in contexts where multi-party cooperation, security, and decentralization of the data is essential. We also show how Oracles can interact with the blockchain and distributively cooperate to leverage artificial intelligence algorithms to perform analysis in the data that allow us to detect robotic anomalies, material in images and the presence of people. We also show that smart-contracts can be used to perform more tasks than just serve the purpose of automatically do monetary transactions. The proposed architectures are modular and can be used in multiple contexts such as in manufacturing, network control, robot control, and others since they are easy to integrate, adapt, maintain and extend to new domains. We expect that the intersection of blockchain and robotics will shape part of the future of robotics once blockchain is more widely used and easy to integrate. This integration will be very prominent in tasks where robots need to behave under certain constraints, in swarm robotics due to the fact that blockchain offers global information and in factories because the actions undertaken by a robot can easily be extended to the rest of the robots by using smart-contracts.Hoje em dia é possível ver que a blockchain não está apenas a crescer a um ritmo exponencial, mas que é também uma tecnologia disruptiva que mudou a forma como trabalhamos com transações financeiras. Ao fornecer uma maneira eficiente de confiar numa rede desconhecida e de permitir realizar transações sem a necessidade de uma autoridade central, a blockchain cresceu rapidamente. Além disso, a blockchain fornece também descentralização de dados, imutabilidade, acessibilidade, não-repúdio e irreversibilidade, o que torna esta tecnologia indispensável em muitos setores. Mas, mesmo fornecendo propriedades interessantes, a blockchain não tem sido amplamente utilizada fora do âmbito financeiro. Da mesma forma, os robôs têm sido cada vez mais utilizados em fábricas para automatizar tarefas que vão desde pegar objetos, transportá-los e colaborar com humanos para realizar tarefas complexas. Porém, é importante impor que os robôs atuem entre certos limites legais e morais e que seus eventos e dados são armazenados com segurança e que estes possam ser auditáveis. O problema é que isso raramente acontece. Os robôs são programados para executar uma tarefa específica sem se ter total certeza de que essa tarefa irá ser executada sempre de maneira correta, e os seus dados são armazenados localmente, desconsiderando a segurança dos dados. Sendo que em muitas ocasiões, não existe qualquer segurança. Isso significa que os dados, especialmente os logs, podem ser alterados, o que pode resultar em que os robôs e, pela mesma linha de pensamento, os fabricantes, possam ser acusados de problemas que não causaram. Tendo isto em consideração, neste trabalho, procuramos integrar a blockchain com a robótica, com o objetivo de proporcionar maior segurança aos robôs e aos dados que geram e potenciar ainda a utilização de algoritmos de inteligência artificial. Fazendo uma visão abrangente dos métodos que propõem integrar a blockchain e inteligência artificial ou robótica, descobrimos que este é um campo em crescimento, mas que há uma falta de propostas que tentem melhorar os sistemas robóticos utilizando a blockchain. Ficou também claro que a maioria das propostas existentes que integram inteligência artificial e blockchain estão focadas na construção de marketplaces e só utilizam a blockchain para armazenar a informação sobre as transações que foram executadas. Assim, neste documento, propomos três métodos que utilizam a blockchain para resolver diferentes problemas associados a robôs. O primeiro é um método para armazenar, com segurança, logs de robôs dentro de uma blockchain, utilizando para isso smart-contracts como armazenamento. Neste método foi também proposta uma maneira de detetar anomalias em robôs automaticamente, utilizando para isso os dados contidos na blockchain e smart-contracts para definir a lógica do algoritmo. Ao utilizar smart-contracts, é garantido que os dados são seguros e imutáveis, desde que a blockchain contenha nós suficientes a participar no algoritmo de consenso. O segundo método vai além de registar eventos, para registar também informações sobre sensores externos, como uma câmara, e utilizando smart-contracts para permitir que Óraculos interajam com a blockchain, foi possível utilizar algoritmos de análise de imagens, que podem detetar a presença de material para ser recolhido. Esta informação é então inserida num smart-contract que define automaticamente o movimento que um robô deve ter, tendo em consideração a quantidade de material à espera para ser recolhida. A terceira proposta é um método que utiliza a blockchain para armazenar informações sobre robôs, e imagens provenientes de uma Kinect. Esta informação é então utilizada por Óraculos que verificam se existe alguma pessoa dentro do um espaço de trabalho de um robô. Se existir alguém, essa informação é armazenada e diferentes Óraculos tentam identificar a pessoa. No fim, um smart-contract age apropriadamente, mudando ou até mesmo parando o robô, dependendo da identidade da Com este trabalho, mostramos como a blockchain pode ser utilizada em ambientes onde existam robôs e como esta pode ser benéfica em contextos onde a cooperação entre várias entidades, a segurança e a descentralização dos dados são essenciais. Mostramos também como Óraculos podem interagir com a blockchain e cooperar de forma distribuída, para alavancar algoritmos de inteligência artificial de forma a realizar análises nos dados, o que nos permite detetar anomalias robóticas, material para ser recolhido e a presença de pessoas em imagens. Mostramos também que os smart-contracts podem ser utilizados para executar mais tarefas do que servir o propósito de fazer transações monetárias de forma automática. As arquiteturas propostas neste trabalho são modulares e podem ser utilizadas em vários contextos, como no fabrico de peças, controle de robô e outras. Devido ao facto de que as arquiteturas propostas, são fáceis de integrar, adaptar, manter e estender a novos domínios. A nossa opinião é que a interseção entre a blockchain e a robótica irá moldar parte do futuro da robótica moderna assim que a blockchain seja mais utilizada e fácil de integrar em sistemas robóticos. Esta integração será muito proeminente em tarefas onde os robôs precisam de se comportar sob certas restrições, em enxames de robôs, devido ao fato de que a blockchain fornece informação global sobre o estado da rede, e também em fábricas, porque as ações realizadas por um robô podem ser facilmente estendidas ao resto dos robôs, e porque fornece um mecanismo extra de segurança aos dados e a todas as ações que são efetuadas com ajuda de smart-contracts
    corecore